//
//  TestViewController.swift
//  JKCAGradientLayer
//
//  Created by IronMan on 2021/2/1.
//

import UIKit

class TestViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    
    lazy var testTableView: UITableView = {
        //创建tableView
        let tableView = UITableView()
        tableView.frame = CGRect(x: 0, y: 0, width: kScreenW, height: kScreenH - 320)
        tableView.rowHeight = 26
        tableView.backgroundColor = .clear
        tableView.separatorStyle = .none
        tableView.showsVerticalScrollIndicator = false
        tableView.register(UITableViewCell.self, forCellReuseIdentifier: "HH")
        tableView.dataSource = self
        tableView.delegate = self
        return tableView
    }()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        self.title = "tableView的边界渐隐效果"
        self.view.backgroundColor = .white
        
        //创建放置tableView的容器
        let tableViewCotainer = UIView()
        tableViewCotainer.backgroundColor = .brown
        tableViewCotainer.frame = CGRect(x: 0, y: 150, width: kScreenW, height: kScreenH - 320)
  
        // 创建渐变层
        let gradientLayer = CAGradientLayer()
        gradientLayer.colors = [UIColor.black.withAlphaComponent(0.0).cgColor,
                                UIColor.black.cgColor]
        gradientLayer.frame = CGRect(x: 0, y: 0, width: tableViewCotainer.jk.width, height: tableViewCotainer.jk.height)
        gradientLayer.locations = [0, 0.15, 1]
        
        // 设置tableView父容器tableViewCotainer的遮罩
        tableViewCotainer.layer.mask = gradientLayer
        
        self.view.addSubview(tableViewCotainer)
        
        tableViewCotainer.addSubview(self.testTableView)
    }
    
    // 获取单元格
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "HH")!
        
        // 设置单元格内容（通过富文本设置）
        let attributeString = NSMutableAttributedString(string:"\(indexPath.row)：这是一条弹幕消息")
        // 设置字体颜色
        attributeString.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.orange,
                                     range: NSMakeRange(0, 8))
        cell.textLabel!.attributedText = attributeString
        
        return cell
    }
    
    //获取单元格高度
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 50
    }
}


